배열이나 슬라이스와 같은 기본 컬렉션은 동일한 데이터 유형의 요소만 저장할 수 있지만, 구조체 (structs) 다양한 유형의 데이터를 하나의 단위로 묶을 수 있게 해줍니다. 이는 이름(문자열)과 좌표(float64) 등 혼합된 데이터를 포함하는 화성 탐사에서 필수적입니다.
1. 의미적 그룹화와 균일성
float 타입의 슬라이스가 단지 "몇 개"인지 알려주는 것과 달리, 구조체는 레이블이 붙은 컨테이너를 제공합니다. 정의: 컬렉션은 동일한 타입이지만, 구조체는 서로 다른 항목들을 함께 묶을 수 있습니다. 이를 통해 관련 데이터를 이름 붙인 객체로 묶어 '변수의 소나무'를 방지합니다.
a, b = b, a // 효율적인 상태 스왑
2. 연산의 원자성
변수를 그룹화함으로써 원자성을 달성할 수 있습니다. 예를 들어, func Step(a, b Universe) 또는 func (u Universe) Next(x, y int) bool 단순한 원시값을 추적하는 대신 전체 환경을 조작할 수 있습니다. 한 번성 작업에는, 익명 구조체 (예: 목록 21.1에 나와 있듯이) 공식적인 타입 정의 없이 즉시 조직을 제공합니다.
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>